<?php
require_once 'PhpBlogApi/Driver.php';
/**
*   A class extended from PhpBlogApi that provides additional abstract
*   functions not present in the original class. These methods have been
*   primarily implemented by the metaWeblog API driver.
*
*   http://code.google.com/p/phpblogapi/
*
*   @category    Services
*   @package     PhpBlogApi
*   @author      Kao Saelee <me AT kaosaelee DOT com>
*   @license     http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
*/
abstract class PhpBlogApi_ExtendedDriver extends PhpBlogApi_Driver
{
    /**
    *   Error code: Username or password doesn't exist/are wrong
    */
    const ERROR_POSTDOESNTEXIST = 103;
	
    /**
    *   The getPost method is intended to retrive a given post as an object of
    *   the PhpBlogApi_Post class; given the unique post id which is passed
    *   as a parameter to the function.
    *
    *   @param   string  $id         The PostID of the post to be retrieved. (As
    *                                 returned by newPost() defined in
    *                                 PhpBlogApi_driver).
    *   @return  PhpBlogApi_Post   The elements of the post returned as an
    *                                      object of the PhpBlogApi_Post class.
    *
    *   @throws PhpBlogApi_Exception  If the post does not exist
    */
    abstract public function getPost($id);
	
    /**
    *   Returns an array of recent posts as PhpBlogApi_Post objects
    *
    *   @param   int     $number     The number of posts to be retrieved.
    *                                    Defaults to 15
    *
    *   @return  Array   An array of objects of the PhpBlogApi_Post class that
    *                   correspond to the number of posts requested.
    */
    abstract public function getRecentPosts($number = 15);
	
    /**
    *   The getRecentPostTitles method is intended to retrieve the given number of
    *   posts titles from a blog.
    *   The posts themselves can be retrieved with getPost() or getRecentPosts().
    *
    *   @param   int     $number     The number of posts to be retrieved.
    *
    *   @return  Array   An array of int => strings representing the
    *                    post ids (key) and their title (value).
    */
    abstract public function getRecentPostTitles($number = 15);
}//abstract class PhpBlogApi_ExtendedDriver extends PhpBlogApi_Driver